A shader may be a computer program used to perform operations on geometry data, other computer graphics data, or other types of data. Shaders are typically executed by a graphics processing unit (GPU) as part of a graphics or rendering pipeline, and may operate on data inputs which may be referred to as shader resources. Shader resources may include buffers, textures, images, or other kinds of data. A program executing on a central processing unit (CPU) may store a shader resource in a memory location (which may be dedicated) for use by a GPU.
A graphics or rendering pipeline may be conceptualized as a group of state operations performed on data to render an image or other data. Generally, a pipeline may be implemented using modules including programmable shaders and/or fixed function units. The pipeline may be mapped onto specialized computing hardware, such as a GPU, to perform operations such as rendering on graphics data or other data.